home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Czech Logic, Card & Gambling Games
/
Logické hry.iso
/
hry
/
Fish Fillets
/
script
/
cellar
/
code.lua
next >
Wrap
Text File
|
2005-07-16
|
7KB
|
172 lines
-- -----------------------------------------------------------------
-- Init
-- -----------------------------------------------------------------
local function prog_init()
initModels()
sound_playMusic("music/rybky15.ogg")
local pokus = getRestartCount()
local roompole = createArray(1)
-- -------------------------------------------------------------
local function prog_init_room()
local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
if pokus == 1 then
room.cast1 = 0
else
room.cast1 = 2
end
room.ocel1 = 0
room.osejvu = 0
room.cast2 = 0
room.restartovat = 0
room.neuvazovat = 0
room.nepoustej = 0
room.uhnimi = 0
room.mamstrach = 0
room.oknize = 0
room.delayrada = -1
room.poslrada = 0
return function()
if roompole[0] == 1 and room.restartovat == 0 and isReady(big) and isReady(small) and no_dialog() then
roompole[0] = 2
addv(10, "pra-v-schvalne")
addm(5, "pra-m-znovu")
end
if no_dialog() and isReady(small) and isReady(big) and roompole[0] == 0 then
if room.delayrada > 0 then
room.delayrada = room.delayrada - 1
end
if room.cast1 == 0 then
room.cast1 = 1
addm(random(20) + 10, "pra-m-pravidla")
elseif room.cast1 == 1 and big.Y == tal.Y + 1 and small.Y > tal.Y + 1 then
room.cast1 = 2
addv(5, "pra-v-klesnout")
elseif room.cast1 <= 2 and snek.X == 5 and tal.Y == 26 and big.Y == 27 then
room.cast1 = 3
addv(5, "pra-v-nahore")
elseif room.ocel1 == 0 and val1.X == 11 and small.X == 8 and not small:isLeft() then
room.ocel1 = 1
addm(5, "pra-m-nepohnu")
elseif room.cast1 <= 3 and big.X == 9 and sek.Y == 24 then
room.cast1 = 4
addm(0, "pra-m-zpatky")
elseif room.osejvu == 0 and sek.Y == 27 and (small.X > 15 or big.X > 15) then
room.osejvu = 1
addv(5, "pra-v-problem")
addm(5, "pra-m-reseni")
elseif room.cast2 == 0 and (small.X >= 22 or big.X >= 21) and jah.X == 22 then
room.cast2 = 1
addv(15, "pra-v-zapeklita")
addm(15 + random(15), "pra-m-vyrazit")
addv(5, "pra-v-dobrynapad")
elseif room.cast2 < 2 and sek.X == 14 and sek.Y == 27 and small.X == 15 and small.Y == 28 then
if jah.X > 19 then
room.cast2 = 3
addv(0, "pra-v-vzit")
addm(5, "pra-m-prisun")
end
elseif room.cast2 < 2 and sek.X == 14 and sek.Y == 27 and jah.X < 22 and (small.X >= 20 or small.Y <= 28) then
room.cast2 = 3
addm(10, "pra-m-chytit")
addv(20 + random(60), "pra-v-spatne")
room.restartovat = 1
elseif room.restartovat == 0 and mer.X == 35 and mer.Y == 30 then
addv(10 + random(30), "pra-v-spatne")
room.restartovat = 1
elseif room.osejvu == 1 and small.X >= 29 and big.X >= 29 and (small.Y < 19 or big.Y < 19) then
addv(random(40), "pra-v-ukladani")
room.osejvu = 2
elseif room.neuvazovat == 0 and small.Y == 21 and small.X >= 23 and small.X <= 28 and small:isLeft() then
room.neuvazovat = 1
addm(2, "pra-m-uvazovat")
elseif room.nepoustej == 0 and soup.Y <= 10 and small.Y >= 14 and small.X >= 22 then
room.nepoustej = 1
addm(5, "pra-m-pustis")
elseif room.uhnimi ~= 1 and soup.Y == 9 and small.X >= 22 and small.X <= 24 and small.Y >= 11 and small.Y <= 12 then
room.uhnimi = 1
addv(5, "pra-v-zavazis")
elseif room.uhnimi == 1 and soup.Y == 9 and (small.X > 26 or small.Y > 13) then
room.uhnimi = 2
elseif room.mamstrach == 0 and room.uhnimi > 0 and soup.Y <= 10 and small.X >= 32 and small.Y >= 13 and small.Y <= 14 then
room.mamstrach = 1
addm(5, "pra-m-strach")
addv(5, "pra-v-prekvapit")
elseif room.restartovat == 0 and small.Y >= 14 and small.X >= 23 and small.X < 34 and big.Y < soup.Y then
addv(10 + random(30), "pra-v-spatne")
room.restartovat = 1
elseif room.oknize == 0 and small.Y < 10 then
room.oknize = 1
addm(20, "pra-m-kniha")
addv(2, "pra-v-valec")
addm(10, "pra-m-jakudelat")
addv(5, "pra-v-nezapomen")
elseif room.oknize == 1 and knih.X == 26 and knih.Y == 7 then
room.oknize = 2
room.delayrada = random(50) + 100
elseif room.delayrada == 0 and knih.X == 26 then
if big.Y <= 3 or room.poslrada == 2 then
addv(10, "pra-v-nezapomen")
room.poslrada = 1
room.delayrada = random(300) + 150
else
addv(10, "pra-v-objet")
if room.poslrada == 0 then
addm(0, "pra-m-neradit")
end
room.poslrada = 2
room.delayrada = random(50) + 50
end
elseif room.restartovat == 0 and svic.X == 3 and svic.Y >= 21 and svic.Y <= 22 and svic.dir == dir_no then
room.restartovat = 1
roompole[0] = 1
addm(10, "pra-m-stava")
addv(0, "pra-v-dopredu")
addm(5, "pra-m-restart")
elseif room.restartovat == 0 and val2.X == 15 and val2.Y == 11 then
addv(10 + random(30), "pra-v-spatne")
room.restartovat = 1
end
end
end
end
-- -------------------------------------------------------------
local function prog_init_soup()
return function()
if soup.dir ~= dir_no then
room.osejvu = 2
end
end
end
-- --------------------
local update_table = {}
local subinit
subinit = prog_init_room()
if subinit then
table.insert(update_table, subinit)
end
subinit = prog_init_soup()
if subinit then
table.insert(update_table, subinit)
end
return update_table
end
local update_table = prog_init()
-- -----------------------------------------------------------------
-- Update
-- -----------------------------------------------------------------
function prog_update()
for key, subupdate in pairs(update_table) do
subupdate()
end
end